﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Orid.Management.Common.Job;

namespace Orid.Management.Statistics.Tools.Decomposition.Model
{
    class ModelJob:ModelBase
    {
        Guid jobID;
        /// <summary>
        /// JobClassID
        /// </summary>
        public Guid JobID
        {
          get { return jobID; }
          set { jobID = value; }
        }

        Guid orderID;
        /// <summary>
        /// 受番ID
        /// </summary>
        public Guid OrderID
        {
          get { return orderID; }
          set { orderID = value; }
        }

       int jobClassID;
        /// <summary>
        /// Job类型
        /// </summary>
        public int JobClassID
        {
          get { return jobClassID; }
          set { jobClassID = value; }
        }
        int cateGoryID;
        /// <summary>
        /// CategoryID
        /// </summary>
        public int CateGoryID
        {
          get { return cateGoryID; }
          set { cateGoryID = value; }
        }
      
        int dataCount;
        //图片数量
        public int DataCount
        {
          get { return dataCount; }
          set { dataCount = value; }
        }

        public class ImageData 
        {
            Guid childDataID;

            public Guid ChildDataID
            {
                get { return childDataID; }
                set { childDataID = value; }
            } 
           
            public ImageData(Guid guid)
            { childDataID = guid; }

            //string comment;

            //public string Comment
            //{
            //    get { return comment; }
            //    set { comment = value; }
            //}
         }
        List<ImageData> childImage = new List<ImageData> ();
        /// <summary>
        /// 子画像
        /// </summary>
        public List<ImageData> ChildImage
        {
            get { return childImage; }
            set { childImage = value; }
        }
         
        int jobLoad;
        /// <summary>
        /// Job工作量 秒
        /// </summary>
        public int JobLoad
        {
          get { return jobLoad; }
          set { jobLoad = value; }
        }
        int wordCount;
        /// <summary>
        /// 文字数
        /// </summary>
        public int WordCount
        {
          get { return wordCount; }
          set { wordCount = value; }
        }

       DateTime? createDateTime;
        /// <summary>
        /// 做成时间
        /// </summary>
        public DateTime? CreateDateTime
        {
          get { return createDateTime; }
          set { createDateTime = value; }
        }
      DateTime? takeDateTime;
        /// <summary>
        /// 取入时间
        /// </summary>
        public DateTime? TakeDateTime
        {
          get { return takeDateTime; }
          set { takeDateTime = value; }
        }


        DateTime? downloadDateTime;
        /// <summary>
        /// 下载时间
        /// </summary>
        public DateTime? DownloadDateTime
        {
          get { return downloadDateTime; }
          set { downloadDateTime = value; }
        }


      DateTime? uploadDateTime;
        /// <summary>
        /// 上传时间
        /// </summary>
        public DateTime? UploadDateTime
        {
          get { return uploadDateTime; }
          set { uploadDateTime = value; }
        }
        string loginName;
        /// <summary>
        /// 录入员
        /// </summary>
        public string LoginName
        {
            get { return loginName; }
            set { loginName = value; }
        }

        int allowDownloadTimes;
        /// <summary>
        /// 允许下载次数 ABjob αβjob 下载次数是2  其他job 下载次数是1
        /// </summary>
        public int AllowDownloadTimes
        {
            get { return allowDownloadTimes; }
            set { allowDownloadTimes = value; }
        }
 
        /// <summary>
        /// 入力时长
        /// </summary>
        private double duration;
        /// <summary>
        /// 入力时长
        /// </summary>
        public double Duration
        {
            get { return duration; }
            set { duration = value; }
        }
 
        /// <summary>
        /// 含上传下载时间的时长
        /// </summary>
        private double propagationTime;
        /// <summary>
        /// 含上传下载时间的时长
        /// </summary>
        public double PropagationTime
        {
            get { return propagationTime; }
            set { propagationTime = value; }
        }
 
        /// <summary>
        /// 有记载的画像数量
        /// </summary>
        private double recordedDataCount;
        /// <summary>
        /// 有记载的画像数量
        /// </summary>
        public double RecordedDataCount
        {
            get { return recordedDataCount; }
            set { recordedDataCount = value; }
        }
        /// <summary>
        /// 有记载的录入时长
        /// </summary>
        private double recordedDuration;
        /// <summary>
        /// 有记载的录入时长
        /// </summary>
        public double RecordedDuration
        {
            get { return recordedDuration; }
            set { recordedDuration = value; }
        }
        /// <summary>
        ///  有记载部分的全部时长
        /// </summary>
        private double recordedPropagationTime;
        /// <summary>
        /// 有记载部分的全部时长
        /// </summary>
        public double RecordedPropagationTime
        {
            get { return recordedPropagationTime; }
            set { recordedPropagationTime = value; }
        }

        int downLoadID;
        /// <summary>
        /// 区别α,β A,B
        /// </summary>
        public int DownLoadID
        {
            get { return downLoadID; }
            set { downLoadID = value; }
        }

       Logic.JobClassAll jobClass ;
        /// <summary>
        /// Job类型
        /// </summary>
       public Logic.JobClassAll JobClass 
        {
            get { return jobClass; }
            set { jobClass = value; }
        }

       double jobDuration;

       public double JobDuration
       {
           get { return jobDuration; }
           set { jobDuration = value; }
       }

       List<ModelProgress> listModelProgress = new List<ModelProgress>();

       public List<ModelProgress> ListModelProgress
       {
           get { return listModelProgress; }
           set { listModelProgress = value; }
       }

       int fileSizeCount;

       public int FileSizeCount
       {
           get { return fileSizeCount; }
           set { fileSizeCount = value; }
       }

       //string imageType, scriptType, wordDirection, wordFlag, wordType;

       //public string ImageType
       //{
       //    get { return imageType; }
       //    set { imageType = value; }
       //}

       //public string ScriptType
       //{
       //    get { return scriptType; }
       //    set { scriptType = value; }
       //}

       //public string WordDirection
       //{
       //    get { return wordDirection; }
       //    set { wordDirection = value; }
       //}

       //public string WordFlag
       //{
       //    get { return wordFlag; }
       //    set { wordFlag = value; }
       //}

       //public string WordType
       //{
       //    get { return wordType; }
       //    set { wordType = value; }
       //}

       ////案件类型用于Trimerjob的修改
       //private string matterType;

       //public string MatterType
       //{
       //    get { return matterType; }
       //    set { matterType = value; }
       //}
       //private int warning;
       ////警告 用在trimerjob的 二次发送
       //public int Warning
       //{
       //    get { return warning; }
       //    set { warning = value; }
       //}

       //public string IsConstraintEntry { get; set; }

       //public string UserOrder { get; set; }


       public ModelProperty MProperty { get; set; }

       public int AccountID { get; set; }
    }
}
